/*
 * Function.h
 *
 *  Created on: 14/11/2011
 *      Author: marcio
 */

#ifndef FUNCTION_H_
#define FUNCTION_H_

typedef struct{
	void* keys;
	List* images;
	int size;
	int (*compkey)(void*, void*);
	int (*compimage)(void*, void*);
}Function;

Function* function_newfunction(int size, int (*fk)(void*, void*), int (*fi)(void*, void*));

int function_add(Function* f, void* key, void* image);

int function_remove(Function* f, void* key);

int function_getImage(Function* f, void* key, void** image);

int function_getKey(Function* f, void* image, void** key);

int function_delete(Function* f);

#endif /* FUNCTION_H_ */
